home *** CD-ROM | disk | FTP | other *** search
- (defun next-word ()
- (let* ((pt (point)))
- (forward-sexp)
- (buffer-substring pt (point))))
-
-
- (defun get-defuns (n) (interactive "p")
- (or n (setq n 1))
- (while (>= (setq n (- n 1)) 0)
- (cond ((search-forward "F" nil t)
- (let (f pack args lim pt def)
- (setq pt (point))
- (forward-char 1)
- (setq lim (if (search-forward "" nil t) (point) nil))
- (goto-char pt)
- (setq f (next-word))
- (next-line 1)
- (beginning-of-line)
- (setq def (next-word))
- (cond ((equal def "Macro"))
- ((equal def "Special"))
- (t (search-forward "package:" lim)
- (forward-sexp -2)
- (setq pack (next-word))
- (search-forward "Args:" lim)
- ; (re-search-forward "\\(Args\\)\\|\\(Syntax\\):" lim)
- (setq args (next-word))
- (setq values (re-search-forward "Values" lim t))
- (other-window 1)
- (cond ((equal def "Function")
- (insert "(defun " pack "::" f args
- (if values " (MV)" " T")
- ")"))
- (t (insert "(unknown " f ")")))
- (insert ?\n)
- (other-window 1)
- )))))))
-
-